package cn.iocoder.yudao.module.trade.api.config.dto;

import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageBindModeEnum;
import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageEnabledConditionEnum;
import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageWithdrawTypeEnum;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import java.util.List;

/**
 * @author superzp
 * @date 2024/02/01 09:02
 */
@Data
public class TradeConfigDTO {

    // ========== 售后相关 ==========

    private List<String> afterSaleRefundReasons;

    private List<String> afterSaleReturnReasons;

    // ========== 配送相关 ==========

    /**
     * 是否启用全场包邮
     */
    private Boolean deliveryExpressFreeEnabled;

    private Integer deliveryExpressFreePrice;

    private Boolean deliveryPickUpEnabled;

    // ========== 分销相关 ==========

    private Boolean brokerageEnabled;

    private Integer brokerageEnabledCondition;

    private Integer brokerageBindMode;

    private List<String> brokeragePosterUrls;

    private Integer brokerageFirstPercent;

    private Integer brokerageSecondPercent;

    private Integer brokerageWithdrawMinPrice;

    private Integer brokerageWithdrawFeePercent;

    private List<Integer> brokerageBankNames;

    private Integer brokerageFrozenDays;

    private List<Integer> brokerageWithdrawTypes;
}
